package com.xiangge.demo;
/*
     while循环：
         引入： 使用循环打印1-5之间所有的整数
         格式：
             while(条件判断语句){
                循环体;
             }
          执行流程：
              当 条件判断语句 成立就执行循环体语句, 一旦不成立, 循环结束

          说明：为了让while循环的执行流程和for循环保持一致一般让 i++;  放在while循环体的最后。
          【随堂练习】
                1、输出0(包含)到100(包含)之间的数, 分别以递增和递减的方式实现；
                2、输出1到100之间的奇数和偶数；
                3、输入一个正整数n，计算1+2+3+…+n的和；
                4、输入一个正整数n，计算1-2+3-4+5-6+…-(n-1)+n的和；
                5、输出1到1000之间既能被5整除又能被3整除的数，并且每行输出5个。
                6、求100到999之间的水仙花数。水仙花数的每个位上的数字的3次幂之和等于它本身（例如：1^3 + 5^3+ 3^3 = 153）。
                7、编程找出四位整数abcd中满足下述关系的数，(ab+cd)*(ab+cd)=abcd（例如：(20 + 25) * (20 + 25)= 2025）。
 */
public class WhileDemo1 {
    public static void main(String[] args) {
        for (int i = 1; i <= 1000; i++) {
            // 循环体
        }

        int i = 1;
        while(i <= 1000){
            // 循环体

            i++;
        }
    }
    public static void main2(String[] args) {
        /*
              5、输出1到1000之间既能被5整除又能被3整除的数，并且每行输出5个。   while循环
         */
        // 定义统计变量count
        int count = 0;

        // 1. 使用while循环代表 [1,1000]之间所有的数
        int i = 1;
        while(i <= 1000){
            // 循环体
            // 2. 找到 i中 既能被5整除又能被3整除的数
            if(i % 5 == 0 && i % 3 == 0){
                System.out.print(i +"\t");
                // 每当一个满足条件的数输出之后就统计一次
                count++;
                // 当count的值一旦改变,就立刻判断count是否到达5的倍数
                if(count % 5 == 0){
                    // 换行
                    System.out.print("\n");
                }
            }
            i++;
        }
        System.out.println("\n满足条件的数的个数有：" + count +"个。");
    }
    public static void main1(String[] args) {
        // 使用循环打印1-5之间所有的整数
        int i = 1;

        while(i <= 5){
            System.out.println(i);
            i++;
        }
    }
}
